<?php

include( "./admin/include/func.php");
include( "./admin/include/thumb.php");

$db = new db();
if ( ! $db->connect()) exit( mysql_error());

$panels = array ();

$panel = array (
	'caption' => 'Hirdetés feladása',
	'title'   => 'Adja meg a hirdetés adatait!',
	'body'    => '',
	'height'  => '800'
);

array_push( $panels, $panel);

/*
hostgator isuues:

1, utf-8 preg_replace test failed on hostgator
$chars = "öüőúéáűí";
print 'encoding: '.mb_detect_encoding( $chars).'<br>'; 
$chars = preg_replace( "/[[:alnum:]]/u", "a", $chars);
print "chars: ".$chars;

2, finfo_open not working on hostgator
*/

if (isset($_POST['feladas'])) {
	
    $p_nev       = trim(strip_tags($_POST['nev']));
    $p_email     = trim(strip_tags($_POST['email']));
    $p_telefon   = trim(strip_tags($_POST['telefon']));
    $p_targy     = trim(strip_tags($_POST['targy']));
    $p_szoveg    = strip_tags($_POST['szoveg']);
    $p_kep       = @$_FILES['kep'];
    $p_rovat     = (int)$_POST['rovat'];
    $p_ar        = trim(strip_tags($_POST['ar']));
    $p_telepules = trim(strip_tags($_POST['telepules']));
    $p_regio     = (int)$_POST['regio'];
    $p_lejarat   = (int)$_POST['lejarat'];
    $p_weblap    = trim(strip_tags($_POST['weblap']));
	$p_szab      = isset ($_POST['szab']) ? 1 : 0;

	//url must begin with http://  (for example the javascript popup window needs it)
	if ('' != $p_weblap && 0 !== strpos ($p_weblap, 'http://')) $p_weblap = 'http://' . $p_weblap;
	
/*
   $felado   = strip_tags ( $args [ "inpFelado"]);
   $email    = $args [ "inpEmail"];
   $telefon  = strip_tags ( $args [ "inpTelefon"]);
   $targy    = strip_tags ( $args [ "inpTargy"]);
   $hirdszov = strip_tags ( $args [ "inpHirdszov"]);
   $fajl     = $args [ "inpKep"]; 
   $rovat    = strip_tags ( $args [ "slcRovat"]);
   $ar       = $args [ "inpAr"]; 
   $varos    = strip_tags ( $args [ "inpVaros"]); 
   $regio    = strip_tags ( $args [ "slcRegio"]);
   $lejarat  = strip_tags ( $args [ "slcLejarat"]);
   $weblap   = strip_tags ( $args [ "inpWeblap"]);
*/
       
    $success = true;
    $errors = array();

/*
    if ($p_nev != '' && ! preg_match ('/^[[:alnum:]]{1,50}/u', $p_nev)) {
        $success = false;
        array_push($errors, "Hibás Név!");
    }
*/
    
    if ($p_nev == '') {
        $success = false;
        array_push($errors, "A Név nincs megadva!");
    }

	//A nev mezo jelenleg csak 20 hosszu?? ha igen ezt javitani kene
   
    if (($p_email) != '' && !preg_match('/^[\.\+_a-z0-9-]+@([0-9a-z][0-9a-z-]*[0-9a-z]\.)+[a-z]{2}[mtgvu]?$/i', $p_email)) {
        $success = false;
        array_push($errors, "Hibás Email!");
    }
    
    if ($p_email == '') {
        $success = false;
        array_push($errors, "Az Email nincs megadva!");
    }

/*       
    if (($p_telefon) != '' && !preg_match('/^[0-9 -\/]{0,20}$/', $p_telefon)) {
        $success = false;
        array_push($errors, "Hibás telefonszám!");
    }
*/

/*
    if (($p_targy) != '' && !preg_match('/^[\w ]{0,50}$/u', $p_targy)) {
        $success = false;
        array_push($errors, "Hibás Tárgy!");
    }
*/

    if ($p_targy == '') {
        $success = false;
        array_push($errors, "A Tárgy nincs megadva!");
    }

	// a tárgy csak 20 hosszú lehet??  meg kéne növelni 50-re   
   
    if (($p_szoveg) != '' && !preg_match('/^[\s\S]{0,500}$/u', $p_szoveg)) {
        $success = false;
        array_push($errors, "A Szöveg max 500 karakter lehet!");
    }

    if ($p_szoveg == '') {
        $success = false;
        array_push($errors, "A Szöveg nincs megadva!");
    } 
   
    if (($p_rovat) != '' && !preg_match('/^[0-9]{0,10}$/', $p_rovat)) {
        $success = false;
        array_push($errors, "Hibás Rovat!");
    }
    
    if ($p_rovat < 1) {
        $success = false;
        array_push($errors, "A Rovat nincs megadva!");
    }

/*       
    if ($p_ar != '' && ! preg_match ('/^[\w ]{0,20}$/u', $p_ar)) {
        $success = false;
        array_push($errors, "Az Ár max 20 karakter lehet!");
    }                                                           
*/

/*       
    if ($p_telepules != '' && ! preg_match ('/^[\w ]{0,50}$/u', $p_telepules)) {
        $success = false;
        array_push($errors, "A Település max 50 karakter lehet!");
    }
*/
       
    if (($p_regio) != '' && !preg_match('/^[0-9]{0,10}$/', $p_regio)) {
        $success = false;
        array_push($errors, "Hibás Régió!");
    }
    
    if ($p_regio < 1) {
        $success = false;
        array_push($errors, "A Régió nincs megadva!");
    }
    
    if (($p_lejarat) != '' && !preg_match('/^[0-9]{0,10}$/', $p_lejarat)) {
        $success = false;
        array_push($errors, "Hibás Lejárat!");
    }
    
    if ($p_lejarat < 1) {
        $success = false;
        array_push($errors, "A Lejárat nincs megadva!");
    }
    
    if (($p_weblap) != '' && !preg_match('/^((http|https):\/\/)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}((:[0-9]{1,5})?\/.*)?$/i', $p_weblap)) {
        $success = false;
        array_push($errors, "Hibás Weblap!");
    }
    
    if (isset ($p_kep) && isset ($p_kep['name']) && $p_kep['name'] != '') {
		
	   GLOBAL $upload_path; 
	   GLOBAL $thumbs_path; 
   		
        if ($p_kep['size'] === 0) {
            $success = false;
            array_push($errors, "Hibás fájl!");
        }
        
        if ($p_kep['size'] > 512000) {
            $success = false;
            array_push($errors, "Túlméretes fájl!");
        }
        
        if ($p_kep['error'] != UPLOAD_ERR_OK) {
            $success = false;
            array_push($errors, "Fájl feltöltési hiba!");
        }
        
        if (!is_uploaded_file($p_kep['tmp_name'])) {
            $success = false;
            array_push($errors, "Fájl feltöltési hiba!");
        }
        
        //Check file mime type
        /*
        not working on hostgator
        $finfo = finfo_open(FILEINFO_MIME);
        $mime = finfo_file($finfo, $p_kep['tmp_name']);
        finfo_close($finfo);
        if (!in_array(mime_content_type($p_kep['tmp_name']), array('image/jpeg'))) {
            $success = false;
            array_push($errors, "Nem megengedett fájl típus!");
        }
        */
		
		//print_r ($p_kep);
		
        if ($p_kep['type'] != 'image/jpeg') {
            $success = false;
            array_push($errors, "A kép nem jpg formátumú!");
        }
        
        //Sanitize the filename
		$n_kep = iconv( "UTF-8", "ASCII//TRANSLIT", $p_kep['name']);
		$n_kep = preg_replace( "/[^[:alnum:]._-]/", '_', $n_kep);

        $n_kep = time() . '-' . $n_kep; //make the filename unique

        $n_kep = strtolower ($n_kep); //make the filename and extension lowercase
		
		$n_kep_path = date ('Y', time ()) . '/' . date ('m', time ()) . '/' . date ('d', time ()) . '/kep';
		
        if (! file_exists ($upload_path . '/' . $n_kep_path)) mkdir ($upload_path . '/' . $n_kep_path, 0777, true);

        if (! move_uploaded_file ($p_kep['tmp_name'], $upload_path . '/' . $n_kep_path . '/' . $n_kep)) {
            $success = false;
            array_push($errors, "Fájl feltöltési hiba!");
        }

		//create thumb
		$thumb_path = $upload_path . '/' . date ('Y', time ()) . '/' . date ('m', time ()) . '/' . date ('d', time ()) . '/thumb';		 
		
		if (! file_exists ($thumb_path)) mkdir ($thumb_path, 0777, true);
		
		$thumb = $thumb_path . '/thumb_' . $n_kep;
		
		$kep   = $upload_path . '/' . $n_kep_path . '/' . $n_kep;
   		
		if (! file_exists( $thumb)) {			
			if (create_thumb( $kep, $thumb, $twidth, $theight) === false) {
				print "Sikertelen thumb letrehozas: " . $n_kep . __FILE__ . __LINE__;
			}
		}
		
		$p_kep = $n_kep;
    
    } else $p_kep = '';
    
	if ($p_szab < 1) {
		$success = false;
		array_push($errors, "Nincs kipipálva a szabályzat elfogadása!");
	}
	                  
    if (! $success) {
		
		$body    = "<ul class='errors'>";
		foreach ($errors as $err) $body .= "<li>$err</li>";
		$body   .= "</ul>";
		
		$error_panel = array (
			'caption' => 'Hiba',
			'title'   => 'Kérjük javítsa ki az alábbi hibákat!',
			'body'    => $body,
			'height'  => count( $errors) * 25 + 10
		);
		
		array_unshift( $panels, $error_panel);
		
    } else {
		
		$p_lejarat      = date("Y-m-d H:i:s", time () + $p_lejarat*24*60*60);   
		$p_aktivkod     = md5(uniqid(rand(), true)); 
		$p_ipaddr       = $_SERVER['REMOTE_ADDR'];

		//banned user?		
		
		$buid = isset( $_SESSION [ "felhasznalo_id"] ) ? "OR user_id='".$_SESSION [ "felhasznalo_id"]."'" : '';
		 
		$db->sql = "SELECT COUNT(id) 
		            FROM ban 
		            WHERE ipaddr='$p_ipaddr' OR email='$p_email' $buid";
		$db->query();
        $rs  = mysql_fetch_row( $db->rs );
        $ban = (int)$rs[0];
        
        $table = 'hirdetes';
        
		if( $ban > 0 ) $table = 'hirdetes-banned';
					
		$db->sql = "INSERT INTO `$table`
					(id,nev,email,telefon,targy,szoveg,kep,rovat,ar,telepules,regio,
					 feladas,lejarat,weblap,aktivkod,ipaddr,lastmodified) 
					VALUES ('','$p_nev','$p_email','$p_telefon','$p_targy','$p_szoveg',
							'$p_kep','$p_rovat','$p_ar','$p_telepules','$p_regio',NOW(),
							'$p_lejarat','$p_weblap','$p_aktivkod','$p_ipaddr',NOW());";

		$db->query();
		
		if( $ban > 0 ) {

			$panels = array ();
			
			$panel = array (
				'caption' => 'Információ',
				'title'   => 'Hirdetését rögzítettük!',
				'body'    => "<p class='success'>Hirdetését rögzítettük!<br />A hirdetés aktiváláshoz szükséges tudnivalókat<br />elküldtük Önnek a megadott email címre.</p>",
				'height'  => '70'
			);
			
			array_push( $panels, $panel);
							
		} else {
			
			#sortable#
			$db->sql = "SELECT last_insert_id()";
			$db->query();
			$rs = mysql_fetch_row($db->rs);
			$last = (int)$rs[0];
			$db->sql = "UPDATE hirdetes SET azonosito='$last',`order`='$last' WHERE id='$last'";
			$db->query();
			#/sortable#
			
			if (User::is_logged_in()) {

				$db->sql = "UPDATE hirdetes SET aktiv='1',aktivedon=NOW() WHERE id='$last'";
				$db->query();
				
				header ('Location: hirdetesek.php?emailben=1&szoveg='.User::get_email());
				
				exit();
						
			} else {
				
				// aktivacios email kuldese 
				$message = "

Tisztelt címzett! 
	 
Ön hirdetést adott fel a ".$url." oldalon. 

Hirdetése aktiváláshoz menjen böngészõjével a következõ címre: 

$url/hirdetes-aktivalas.php?sorszam=$last&kod=$p_aktivkod

A hirdetés kezeléséhez az alábbi linkeket használhatja: 

- módosítás:  $url/hirdetes-modositas.php?sorszam=$last&kod=$p_aktivkod

- hosszabbítás:  $url/hirdetes-hosszabbitas.php?sorszam=$last&kod=$p_aktivkod

- törlés:     $url/hirdetes-torles.php?sorszam=$last&kod=$p_aktivkod

FIGYELEM! Ha Ön még nem regisztrált felhasználónk, akkor a fenti műveleteket csak ezen email
birtokában tudja elvégezni, ezért ne törölje amíg a hirdetése aktív.

Ha még kényelmesebben szeretné hirdetéseit kezelni, akkor regisztrálja magát oldalunkon a következő címen:

$url/regisztracio.php

Ha szeretné, hogy hirdetését ezerszer többen lássák, akkor most ezt könnyen elérheti akciós ingyenes
hirdetés kiemeléssel, ráadásul ha kiemeli hirdetését akkor most még egy ingyenes webtárhelyhez is hozzájut.
Részletekért kattinson az alábbi linkre: 

$url/kiemeles.php


Üdvözlettel: a $site csapata"; 

				mail ($p_email, "Hirdetés aktiváció - $last sz. hirdetés", $message, "From: ".$noreply); 
				
				//print $message;

				$panels = array ();
				
				$panel = array (
					'caption' => 'Információ',
					'title'   => 'Hirdetését rögzítettük!',
					'body'    => "<p class='success'>Hirdetését rögzítettük! (".$last."sz. hirdetés)<br />A hirdetés aktiváláshoz szükséges tudnivalókat<br />elküldtük Önnek a megadott email címre.</p>",
					'height'  => '70'
				);
				
				array_push( $panels, $panel);
			}
		}
    }
}

?>

<?php include ("header.php"); ?>

<?php include ("top.php"); ?>

<?php include ("left.php"); ?>
							
<div id="middle">

<?php foreach( $panels as $panel) { ?>
	
	<div class="form-panel">		
		<div>
			<img src='./images1/x3a2.gif' width="21px" height="42px" class="fleft" alt='apróhirdetés' /> 
			<div class="hptop">
				<p class="hpcaption"><?php print $panel['caption']; ?></p>
				<p class="hptitle"><?php print $panel['title']; ?></p>
			</div>	
			<img src='./images1/x3b2.gif' width="21px" height="42px" class="fleft" alt='apróhirdetés' />
		</div>
		<div>
			<img src='./images1/x4a.gif' width="21px" height="13px" class="fleft" alt='apróhirdetés' /> 
			<img src='./images1/x4bg.gif' width="455px" height="13px" class="fleft" alt='apróhirdetés' /> 
			<img src='./images1/x4b.gif' width="21px" height="13px" class="fleft" alt='apróhirdetés' />
		</div>
		<div>
			<img src='./images1/x5bga.gif' width="21px" height="<?php print $panel['height']; ?>px" class="fleft" alt='apróhirdetés' /> 
			<div class="hpbody" style="height:<?php print $panel['height']; ?>px">
				<?php if ($panel['body'] != '') print $panel['body']; else { ?>
					
					<form name="form_hirdetes" id="form_hirdetes" method="post" enctype='multipart/form-data' accept-charset="utf-8">
						
						<label for='nev' class="required">Név</label>
						<input name='nev' type='text' value='<?php if (isset( $p_nev)) print $p_nev; else if (User::is_logged_in()) print User::get_name(); ?>' />
						<p class='nnote'>Required, A hirdetést feladó neve. Max 50 karakter.</p>
						<br />
						
						<label for='email' class="required">Email</label>
						<input name='email' type='text' value='<?php if (isset( $p_email)) print $p_email; else if (User::is_logged_in()) print User::get_email(); ?>' />
						<p class='nnote'>Required, A hirdetést feladó email cí­me. Max 50 karakter.</p>
						<br />
						
						<label for='telefon'>Telefon</label>
						<input name='telefon' type='text' value='<?php if (isset( $p_telefon)) print $p_telefon; else if (User::is_logged_in()) print User::get_prop('telefon'); ?>' />
						<p class='nnote'>A hirdetést feladó telefonszáma. Max 20 karakter.</p>
						<br />
						
						<label for='targy' class="required">Tárgy</label>
						<input name='targy' id='targy' type='text' <?php if (isset($p_targy) && !$success) print "value='$p_targy'"; ?> onKeyDown="textCounter('targy',60,'targy-counter')" onKeyUp="textCounter('targy',60,'targy-counter')" />
						<div class="note"><span>A Tárgy még max </span><input id="targy-counter" type="text" value="60" /><span> karakter lehet.</span></div>
						<script>textCounter('targy',60,'targy-counter')</script>
						<br />
						
						<label for='szoveg' class="required">Szöveg</label>
						<textarea cols="39" rows="14" id='szoveg' name='szoveg' cols='39' rows='14' onKeyDown="textCounter('szoveg',500,'text-counter')" onKeyUp="textCounter('szoveg',500,'text-counter')"><?php if (isset($p_szoveg) && !$success) print $p_szoveg; ?></textarea>
						<div class="note"><span>A Szöveg még max </span><input id="text-counter" type="text" value="500" /><span> karakter lehet.</span></div>
						<script>textCounter('szoveg',500,'text-counter')</script>
						<br />

						<input name='MAX_FILE_SIZE' type='hidden' value='512000' />
						
						<label for='kep'>Kép</label>
						<input name='kep' type='file' />
						<p class='note'>max. 500 Kb 800x600 pixel jpg kép tölthetö fel</p>
						<!--br /-->

						<label for='rovat' class="required">Rovat</label>
						<select name='rovat'>  
							<?php
								if (count($rovatok) < 1) print "<option value='0'>Create a Rovat first!</option>";
								foreach ($rovatok as $rovat) {
									$selected = '';
									if (isset( $p_rovat)) {if ($p_rovat == $rovat['id']) $selected = "selected='selected'";}
									else if (User::is_logged_in() && User::get_prop( 'rovat') == $rovat['id']) $selected = "selected='selected'";
									print "<option value='" . $rovat['id'] . "' $selected>" . $rovat['nev'] . "</option>";
									$alrovatok = $rovat['childs'];
									if (is_array ($alrovatok)) {
										foreach ($alrovatok as $alrovat) {
											$selected = '';
											if (isset( $p_rovat)) {if ($p_rovat == $alrovat['id']) $selected = "selected='selected'";}
											else if (User::is_logged_in() && User::get_prop( 'rovat') == $alrovat['id']) $selected = "selected='selected'";
											print "<option value='" . $alrovat['id'] . "' $selected>&nbsp;&nbsp;-&nbsp;" . $alrovat['nev'] . "</option>";
										}
									}
								}
							?>                 
						</select>
						<p class='nnote'>Required, Válasszon egy rovatot a hirdetéséhez.</p>
						<br />

						<label for='ar'>Ár</label>
						<input name='ar' type='text' <?php if (isset($p_ar) && !$success) print "value='$p_ar'"; ?> />
						<p class='nnote'></p>
						<br />

						<label for='telepules'>Település</label>
						<input name='telepules' type='text' value='<?php if (isset( $p_telepules)) print $p_telepules; else if (User::is_logged_in()) print User::get_prop('varos'); ?>' />
						<p class='nnote'>A település neve ahol Ön lakik, vagy ahonnan Érdeklödöket vár. </p>
						<br />

						<label for='regio' class="required">Régió</label>
						<select name='regio'>  
							<?php
								if (count($regiok) < 1) print "<option value='0'>Create a Régió first!</option>";
								foreach ($regiok as $regio) {
									$selected = '';
									if (isset( $p_regio)) {if ($p_regio == $regio['id']) $selected = "selected='selected'";}
									else if (User::is_logged_in() && User::get_prop( 'regio') == $regio['id']) $selected = "selected='selected'";
									print "<option value='" . $regio['id'] . "' $selected>" . $regio['nev'] . "</option>";
									$alregiok = $regio['childs'];
									if (is_array ($alregiok)) {
										foreach ($alregiok as $alregio) {
											$selected = '';
											if (isset( $p_regio)) {if ($p_regio == $alregio['id']) $selected = "selected='selected'";}
											else if (User::is_logged_in() && User::get_prop( 'regio') == $alregio['id']) $selected = "selected='selected'";										
											print "<option value='" . $alregio['id'] . "' $selected>&nbsp;&nbsp;-&nbsp;" . $alregio['nev'] . "</option>";
										}
									}
								}
							?>                 
						</select>
						<p class='nnote'>Required</p>
						<br />

						<label for='lejarat' class="required">Lejárat</label>
						<select name='lejarat'>  
							<?php
								$db->sql = "SELECT id,lejarat_neve,lejarat_hossza FROM `lejarat` ORDER BY `order` DESC";
								$db->query();
								if (mysql_num_rows($db->rs) < 1) print "<option value='0'>Create a Lejárat first!</option>";
								while ($op = mysql_fetch_array($db->rs)) print "<option value='" . $op['lejarat_hossza'] . "'>" . $op['lejarat_neve'] . "</option>";
							?>                 
						</select>
						<p class='nnote'>Required</p>
						<br />

						<label for='weblap'>Weblap</label>
						<input name='weblap' type='text' value='<?php if (isset( $p_weblap)) print $p_weblap; else if (User::is_logged_in()) print User::get_prop('weblap'); ?>' />
						<p class='nnote'>Ha Önnek van weboldala, akkor itt megadhatja annak internetcímét. Max 50 karakter.</p>
						<br />
						<br />

						<label for='szab'>&nbsp;</label>
						<input name='szab' type='checkbox' <?php if (! isset($p_szab) || ($p_szab > 0 && ! $success)) print 'checked="true"'; ?> />
						<span><a href="#" onclick="return(makePopup(this,'http://hirdetek.net/utmutato.php?p=szabalyzat'))">A hirdetési szabályzatot elfogadom</a></span>
						<br />						
						<br />

						<h3 style="color:green;text-align:center">KÖSZÖNJÜK, HOGY NEM TÖLT FEL JÓ IZLÉST SÉRTŐ TARTALMAT/KÉPET AZ OLDALRA!</h3>																
						
						<br />
						<br />																
						<label for="feladas">&nbsp;</label>
						<input name="feladas" type="submit" value="Feladás"/>				

					</form>
				<?php } ?>           			
			</div>
			<img src='./images1/x5bgb.gif' width="21px" height="<?php print $panel['height']; ?>px" class="fleft" alt='apróhirdetés' />
		</div>
		<div>
			<img src='./images1/x6a.gif' width="21px" height="34px" class="fleft" alt='apróhirdetés' /> 
			<img src='./images1/x6bg.gif' width="455px" height="34px" class="fleft" alt='apróhirdetés' /> 		
			<img src='./images1/x6b.gif' width="21px" height="34px" class="fleft" alt='apróhirdetés' />
		</div>
	</div>

	<br />
	<br />

<?php } ?>

<br />

</div>

<?php include ("right.php"); ?>

<?php include ("footer.php"); ?>
